<?php
@header("Content-Type:text/json;charset=utf-8");
@header("Access-Control-Allow-Origin:*");
$conn = mysqli_connect("b-sjisyki6cozhtk.bch.rds.gz.baidubce.com:3306", "b_sjisyki6cozhtk", "12345678", "b_sjisyki6cozhtk");

if (!isset($_GET["title"])) {
    exit('{"status":false,"message":"请传入完整参数"}');
}

$wd = $_GET["title"];       // 搜索的关键词
$type = $_GET["type"];   // 排序的方式 (asc desc)
$page = $_GET["page"];   // 第几页
$size = $_GET["size"];   // 每页显示多少条


$obj = array();

// 找满足条件的数据总数(搜索的总数据)
$sqlAll = "select * from `sheet1` where title like '%$wd%'";
$resultAll = mysqli_query($conn, $sqlAll);

if ($resultAll) {
    // 满足条件的数据总数(搜索的总数据)
    $total = $resultAll->num_rows;
    if ($total > 0) { // 有数据
        $maxPage = ceil($total / $size);

        if ($page > $maxPage) { // 超出最大值 就设置为最大值
            $page = $maxPage;
        }
        if ($page < 1) {
            $page = 1;
        }
        // 分页
        $skip = ($page - 1) * $size;

        $sql = "select * from `sheet1` where title like '%$wd%' order by money $type limit $skip,$size";
        $result = mysqli_query($conn, $sql);
        // print_r($result);
        // php 对象取值   箭头语法
        // echo $result->num_rows;  // 返回查询的数据数量
        if ($result) { // 有结果对象 => 可能有数据
            // 循环解析  => 先解析,将解析的结果赋值给变量$item ,并将其作为while循环的条件
            $all = [];
            while ($item = mysqli_fetch_assoc($result)) {  // 解析成功 =>  返回关联数组  解析失败=>结束循环
                array_push($all, $item);
            }
            $obj["status"] = true;
            $obj["message"] = "OK";

            // 告诉前端 查询的总数据  最大页码 当前页是第几页
            $obj["total"] = $total;
            $obj["maxPage"] = $maxPage;
            $obj["current"] = $page;

            $obj["list"] =  $all;
        } else {
            $obj["status"] = false;
            $obj["message"] = "sql语句有误";
        }
    } else { //没有数据
        $obj["status"] = true;
        $obj["message"] = "暂无数据!";
    }
} else {
    $obj["status"] = false;
    $obj["message"] = "sql语句有误";
    $obj["sql"] = $sqlAll;
}

echo json_encode($obj);
